草庐IT

c++ - get_time 未按预期运行

全部标签

ruby - 为什么 Ruby 调试器在运行时返回的值与代码不同?

看看这个简单的Ruby类:require'byebug'classFoodefrunbyebugputsdefined?(bar)putsbar.inspectbar='localstring'putsdefined?(bar)putsbar.inspectenddefbar'stringfrommethod'endendFoo.new.run运行此类时,可以在调试器的控制台中观察到以下行为:$rubybyebug.rb[2,11]in/../test.rb2:3:classFoo4:defrun5:byebug6:=>7:putsdefined?(bar)8:putsbar.insp

ruby-on-rails - Rails 3.0.7 -> 如何让测试运行得更快?

我正在运行mysql、database_cleaner、Rspec等。到目前为止我有大约518个测试,它们需要88秒才能运行。这对我来说是NotAcceptable,因为我的应用程序开发才刚刚开始。因此,在进一步深入之前,我想尝试找到减少运行这些测试所需时间的方法-希望不必实际更改测试。在大多数情况下,我尝试使用stub。但是,当我测试模型和查询时,我会使用数据库。我认为database_cleaner正在减慢它们的速度,但我不知道如何在没有它的情况下测试查询和其他内容。使用带有“:memory:”选项的sqlite3似乎只减少了大约10秒(有点令人失望的结果......)我该怎么做才

ruby - 如何使用修改后的 header 制作 HTTP GET?

使用修改后的header在Ruby中发出HTTPGET请求的最佳方式是什么?我想从日志文件的末尾获取一系列字节,并一直在玩弄以下代码,但服务器返回一个响应说“这是服务器无法理解的请求”(服务器是Apache)。require'net/http'require'uri'#with@address,@port,@pathalldefinedelsewherehttpcall=Net::HTTP.new(@address,@port)headers={'Range'=>'bytes=1000-'}resp,data=httpcall.get2(@path,headers)有没有更好的方法在R

ruby - 在 Ruby 中从 X.times 返回数组的简洁方法

我经常想对数组执行某项操作X次,然后返回该数字以外的结果。我通常写的代码如下:defother_participantsoutput=[]NUMBER_COMPARED.timesdooutput有没有更简洁的方法来做到这一点? 最佳答案 听起来您可以使用map/collect(它们是Enumerable的同义词)。它返回一个数组,其内容是通过map/collect每次迭代的返回值。defother_participantsNUMBER_COMPARED.times.collectdoParticipant.new(all_frie

ruby-on-rails - 如何在 Rails 之外使用 Rails DateHelper 方法 time_ago_in_words?

因此,我下载并安装了ActiveHelpergem,但我仍然无法弄清楚如何在普通Ruby代码中使用ActionView的DateHelper方法,例如time_ago_in_words。这不包括在ActiveHelper中吗?是否可以在Rails之外使用这些方法?http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-time_ago_in_words 最佳答案 试试这个:require'action_view'require'ac

ruby - 从命令行运行 Ruby 库

在对Python非常满意几年后,我刚刚学习了Ruby的基础知识(我仍在使用Python做某些事情),但我想知道是否有成语或hack来解决这个特殊问题问题。我有一个Ruby脚本,我希望能够用它执行requirescript_name,但我也希望能够运行rubyscript_name.rb从终端并将其作为命令行脚本运行。在Python中,这将通过在脚本底部具有以下结构来完成:if__name__=='__main__':#dosomethinghere但是,我似乎找不到Ruby中的等效项。有没有办法检测当前脚本是否正在从命令行运行?也许是一些Kernel::方法之类的?理想情况下,我想要的

ruby-on-rails - 运行 autoconf 时 rvm install 1.9.2 失败?

当我运行时rvminstall1.9.2我在尝试运行autoconf时遇到错误。这是堆栈跟踪:kenmare:ruby-1.9.2-p0lee$rvminstall1.9.2-p0/Users/lee/.rvm/rubies/ruby-1.9.2-p0,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.2-p0-#fetchingruby-1.9.2-p0-#extractedto/Users/lee/.rvm/src/ruby-1.9.2-p0(alreadyextracted)RunningautoconfErrorrunning'

ruby-on-rails - rails : Ensure only one boolean field is set to true at a time

我有一个Logo模型,它的字段名称为:字符串,默认为bool值。我希望true值是唯一的,以便一次只能将数据库中的一项设置为true。如何在我的Controller中设置更新和新操作以将Logo的所有其余值设置为false?假设我有以下设置在我的数据库中模特标志名称:字符串|默认值:bool值|项目1|是的|项目2|假|第3项|假|如果我将Item2默认值更改为true,我希望它遍历所有Logo并将其余Logo设置为false,因此一次只有一个为true,所以它看起来像这样。名称:字符串|默认值:bool值|项目1|假|项目2|是的|第3项|假|提前感谢您的帮助。

ruby-on-rails - gem install mysql2 v '0.3.11' 无法在 Yosemite 上运行

在ruby​​版本1.9.3(rvm)上执行mysql2版本0.3.11的捆绑安装或直接gem安装时,我收到以下错误。但是当我安装最新版本0.3.16时它可以工作。我还包含了我的gcc版本以供引用。Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./Users/ginocarlocortez/.rvm/rubies/ruby-1.9.3-p547/bin/rubyextconf.rbcheckingforrb_thread_blocking_region()...yescheckingforrb_wait_for_si

ruby-on-rails - 在一台专用服务器上运行两个不同的 Rails 应用程序

我有一台配置如下的专用服务器i3-DualCore-3.06GhzH/T16GBRAM500GBSATA2现在我想在一台专用服务器上执行两个不同的Rails应用程序。两个应用程序都不同,但它们使用的是公共(public)数据库。这有可能吗?如果是——我该怎么做?使用Apache的PhusionPassenger是一个好方法吗?如果是-如何使用一台PhusionPassenger服务器配置两个应用程序? 最佳答案 我将描述如何使用Apache、PhusionPassenger和某些版本的Ruby在一台Linux服务器上运行多个Rail